
package DAO;

import java.sql.*;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;

public class EquipoDAO extends DaoBaseMySql implements DaoInterface<EquipoVO, EquipoPK>
{
    public EquipoDAO()
    {

    }

    public EquipoDAO(long pTransId)
    {
        super (pTransId);

    }

    public EquipoVO Crear(EquipoVO pData)
    {
        Connection wCnn = null;
        try
        {
            wCnn = getConnection();
            CallableStatement wStm = wCnn.prepareCall("{call sp_insertar_equipo(?, ?, ?)}");

            wStm.setString(1, pData.getNombre());
            wStm.setString(2, pData.getJugadores());
            wStm.registerOutParameter(3, Types.INTEGER);
           

            wStm.execute();

            pData = new EquipoVO(wStm.getInt("nuevoId"), pData.getNombre(), pData.getJugadores());

        }
        catch (SQLException ex)
        {
                rollbackTransaction(transId);
                Logger.getLogger(EquipoDAO.class.getName()).log(Level.SEVERE, null, ex);
        }

        return pData;

    }

    public EquipoVO Cargar(EquipoVO pData)
    {
        Connection wCnn = null;
        try
        {
            wCnn = getConnection();
            CallableStatement wStm = wCnn.prepareCall("{call sp_consultar_equipo(?)}");
            
            wStm.setString(1, pData.getNombre());

            wStm.execute();
            ResultSet res = wStm.getResultSet();
            while(res.next()){
                pData = new EquipoVO(res.getInt(1), res.getString(2), res.getString(3));    
            }
            

        }
        catch (SQLException ex)
        {
                rollbackTransaction(transId);
                Logger.getLogger(EquipoDAO.class.getName()).log(Level.SEVERE, null, ex);
        }

        return pData;

    }

    public void Actualizar(EquipoVO pData)
    {
        throw new UnsupportedOperationException("Not yet implemented");
    }

    public void Borrar(EquipoPK pKey)
    {
        throw new UnsupportedOperationException("Not yet implemented");

    }

    public List<EquipoVO> Listar()
    {
        throw new UnsupportedOperationException("Not yet implemented");

    }

    public List<EquipoVO> Listar(String pFiltro)
    {
        throw new UnsupportedOperationException("Not yet implemented");

    }

    public EquipoVO Cargar(EquipoPK pKey) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
